A1 官方组件使用指南
概述
本文档详细介绍 A1 工作流(Workflow)中所有官方组件的功能、参数配置及使用方法。通过合理组合这些组件,您可以快速构建复杂的智能应用。
一、默认组件
默认组件是工作流的基础构成单元,包括输入输出控制和流程管理功能。
1.1 Start(开始组件)
功能说明
Start 组件是每个工作流或对话流的起点,用于定义输入参数并触发流程执行。工作流激活时,从 Start 节点开始执行。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 自定义参数 | String / Integer / Number / Boolean / Object / Array | - | 定义工作流输入变量及类型 |
1.2 End(结束组件)
功能说明
End 组件负责定义工作流的最终输出,确定返回给调用方的变量,确保多步骤操作有明确可控的结果。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 自定义参数 | String / Integer / Number / Boolean / Object / Array | - | 定义工作流输出变量及类型 |
二、业务逻辑组件
业务逻辑组件用于控制工作流的执行路径和循环逻辑。
2.1 Condition(条件组件)
功能说明
Condition 实现流程的分支控制,根据条件表达式决定工作流的执行路径,增强工作流的灵活性和智能性。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
If* | Enum | 是 | 条件判断类型 |
支持的判断类型
| 类型 | 说明 |
|---|---|
Equal | 等于 |
Not Equal | 不等于 |
Is True | 为真 |
Is False | 为假 |
In | 包含于 |
Not In | 不包含于 |
Is Empty | 为空 |
Is Not Empty | 不为空 |
使用参考
详见工作流模板: 绘制图表&维基百科
2.2 Loop(循环组件)
功能说明
Loop 组件允许遍历数组中的每个元素,并结合其他组件执行复杂操作。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
loopFor* | Array | 是 | 待循环的数组,循环次数等于数组元素数量 |
elem* | Object | 是 | 当前循环项的值 |
循环控制操作
| 操作 | 说明 |
|---|---|
next | 存储当前结果并继续下一次循环 |
skip | 跳过当前循环,进入下一次 |
exit | 中断整个循环 |
使用参考
详见工作流模板: 绘制图表&维基百科
2.3 Assign(赋值组件)
功能说明
Assign 组件用于在工作流中实现变量赋值操作,将一个变量的值赋给另一个变量。适用于变量重命名、数据传递、中间结果存储等场景。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
Variable* | String | 是 | 选择工作流中的变量作为源变量 |
Assign to* | String | 是 | 选择或输入目标变量名,将源变量赋值给该变量 |
2.4 Shortcircuit(短路组件)
功能说明
Shortcircuit 组件实现工作流分支的并发执行与竞争收束机制。当多个分支汇聚至 Shortcircuit 节点时,系统将持续监听各分支的执行状态,一旦任一分支率先完成执行,即刻释放该分支的输出并传递至下游节点,同时强制终止其余所有正在执行中的分支。该组件适用于需要多路竞速、快速响应或资源优化的场景,可有效降低计算资源消耗并提升工作流整体执行效率。
参数配置
Shortcircuit 组件无需配置参数,自动处理分支竞争逻辑。
工作机制
| 状态 | 说明 |
|---|---|
监听阶段 | 等待任一上游分支完成执行 |
获胜分支 | 最先完成执行的分支,其输出将被传递 |
终止机制 | 非获胜分支将立即被中止,释放相关资源 |
应用场景
- 多路竞速:同时调用多个服务或模型,优先采用最先响应的结果
- 降级策略:主服务与备用服务并行执行,快速切换至可用资源
- 资源优化:避免不必要的等待和计算开销
三、大语言模型组件
3.1 LLM(大模型组件)
功能说明
LLM 是 A1 的核心组件,支持与多种大语言模型无缝集成,包括 GPT 系列、Mistral、Llama 等。适用于聊天机器人、企业级解决方案等多种场景。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
modelName* | String | 是 | 在「模型设置」中配置的大模型 API |
Prompt* | String | 是 | 引导 LLM 执行任务的指令或描述 |
temperature* | Double | 是 | 控制生成内容的随机性和多样性 |
systemPrompt | String | 否 | 对话开始前的初始指令或背景信息 |
Temperature 参数说明
| 设置值 | 特性 | 适用场景 |
|---|---|---|
| 低值(0-0.3) | 输出确定、保守,倾向于选择高概率词汇 | 法律文书、代码生成、问答系统 |
| 标准值(0.4-0.7) | 平衡随机性与准确性,按原始概率分布采样 | 大多数通用场景 |
| 高值(0.8-2.0) | 输出多样、富有创造性 | 创意写作、诗歌创作、头脑风暴 |
SystemPrompt 最佳实践
- 设定 AI 的角色和行为模式
- 规定回答风格和格式要求
- 定义限制条件和边界
- 提供必要的背景信息
使用参考
详见工作流模板: 绘制图表&维基百科
3.2 VLM(视觉语言模型组件)
(v0.8.0更新公告:目前仅支持qwen omni系列全模态大模型)
功能说明
VLM 组件用于调用多模态大模型,支持图片和音频输入进行理解与响应生成。可处理图像分析、文档识别、音频转录等多种视觉与听觉智能任务。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
model_name* | String | 是 | 选择视觉理解模型,如 qwen-omni-flash 等 |
File parameter | Enum | 否 | 文件参数类型,可选 URL 或本地文件 |
File type | Enum | 否 | 文件类型,支持 Image、Audio 等 |
File URL or Base64 | String | 否 | 文件的 URL 地址或 Base64 编码内容 |
Local file | File | 否 | 上传本地文件(注意:部分类型可能不兼容) |
User Prompt* | String | 是 | 用户提示词,可输入 @ 引用变量,{} 或 [] 插入数据 |
top_p | Double | 否 | 核采样参数,控制输出多样性,默认值 0.5 |
参数使用说明
- File parameter:选择文件输入方式,推荐使用 URL 方式
- File type:根据实际文件类型选择 Image 或 Audio
- User Prompt:支持变量引用,使用
@符号可插入工作流中的变量 - top_p:值越小输出越确定,值越大输出越随机
输出参数
| 参数名 | 类型 | 说明 |
|---|---|---|
result | String | VLM 解析后的文本结果 |
使用场景
- 图片理解:识别图片中的物体、场景、文字等内容
- 文档识别:解析扫描文档、发票、表格等结构化内容
- 音频处理:音频内容理解与转录
- 多模态交互:结合图像/音频与文本进行综合理解
使用参考
详见工作流模板: VLM 视觉理解示例
3.3 Eval(代码组件)
功能说明
Eval 组件为用户提供灵活的自定义编码能力,允许在工作流中直接编写代码函数以实现特定的业务逻辑。开发者可通过该组件封装复杂的数据处理、算法计算、API 调用等操作,突破预设组件的功能边界,满足高度定制化的应用需求。该组件适用于标准组件无法覆盖的特殊场景,通过编程方式扩展工作流的能力边界。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
function* | String | 是 | 自定义函数代码 |
arguments | Object | 否 | 函数入参,可引用工作流中的变量 |
输入输出机制
| 类型 | 说明 |
|---|---|
输入 | 通过 arguments 参数接收上游节点传递的变量 |
输出 | 函数返回值将作为组件输出传递至下游节点 |
代码编写规范
- 支持的编程语言需符合平台运行时环境要求
- 函数应明确返回处理结果,确保下游节点可正常接收
- 避免在函数中引入阻塞操作或长时间计算
- 妥善处理异常情况,防止工作流异常中断
应用场景
- 数据处理:复杂的数据清洗、转换、聚合操作
- 算法实现:特定算法或业务规则的代码化实现
- 外部集成:调用第三方 API 或服务接口
- 逻辑封装:将复用性高的业务逻辑封装为函数
3.4 Classifier(意图识别组件)
功能说明
Classifier 组件利用大语言模型的语义理解能力,对输入文本进行意图识别和分类判断。该组件根据预设的分类类别,将用户输入映射至对应的业务分支,从而实现智能路由和流程分流。相较于传统的条件判断组件,Classifier 能够更精准地理解自然语言表达的复杂性,适用于需要基于语义而非关键词进行决策的场景。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
modelName* | String | 是 | 选择用于意图分类的大语言模型 |
toBeClassified* | String | 是 | 待分类的输入文本,可引用工作流变量 |
branches* | Array | 是 | 分类分支配置,定义所有可识别的意图类别 |
分支配置说明
每个分支需配置以下信息:
| 配置项 | 说明 |
|---|---|
Category | 意图类别名称,用于标识该分支对应的意图类型 |
description | 类别描述,帮助模型理解该类别的特征和范围 |
工作机制
| 阶段 | 说明 |
|---|---|
输入接收 | 接收待分类的文本内容 |
模型推理 | 大模型分析文本语义,匹配最接近的分类 |
分支路由 | 根据匹配结果执行对应分支 |
默认处理 | 未匹配任何类别时可配置默认分支 |
应用场景
- 智能客服:识别用户咨询类型,路由至对应技能组
- 指令识别:判断用户操作意图,执行不同工作流
- 内容分类:自动分类文本内容,进行后续处理
- 意图分流:基于语义理解实现复杂的业务分支逻辑
3.5 Knowledgebase(知识库组件)
功能说明
Knowledgebase 组件用于在工作流中调用 A1 知识库,实现基于文档资料的智能问答和信息检索。该组件通过向量检索技术,从预置的知识库中检索与用户问题最相关的内容,并将其作为上下文传递给下游节点,确保模型回答的准确性和针对性。适用于企业知识管理、产品文档咨询、技术支持等场景。
参数配置
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
question* | String | 是 | 用户提问或查询内容,可引用工作流变量 |
knowledgebases* | Array | 是 | 选择关联的知识库,支持多选以扩大检索范围 |
top_n | Integer | 否 | 返回最相关的文档数量,默认值 10 |
etext | Integer | 否 | 扩展文本长度,默认值 40 |
ftext | Integer | 否 | 精确文本长度,默认值 5 |
检索参数说明
| 参数 | 说明 | 适用场景 |
|---|---|---|
top_n | 控制返回的相关文档条数 | 值越大获取的上下文越丰富,但可能增加计算成本 |
etext | 扩展文本长度,影响检索的模糊匹配范围 | 需要更多相关语境时适当增大 |
ftext | 精确文本长度,影响检索的精确匹配范围 | 需要精准匹配时适当增大 |
工作机制
| 阶段 | 说明 |
|---|---|
问题接收 | 接收用户输入的查询问题 |
向量检索 | 将问题向量化,在知识库中检索相似文档 |
结果排序 | 按相关性对检索结果进行排序 |
上下文构建 | 将最相关的文档内容组装为上下文 |
输出传递 | 将上下文和检索结果传递至下游节点 |
输出参数
| 参数名 | 类型 | 说明 |
|---|---|---|
context | String | 检索到的相关文档内容 |
documents | Array | 原始文档列表,包含文档元信息 |
应用场景
- 企业知识问答:基于公司内部文档快速回答员工咨询
- 产品文档查询:为用户提供产品使用说明和故障排查指导
- 技术支持:利用技术知识库自动化解答常见问题
- 合规性审查:基于法规文档进行合规性信息检索
四、辅助组件
4.1 Comment(注释组件)
功能说明
Comment 组件为工作流提供注释和文档说明功能,帮助团队成员理解工作流的设计意图。
用途
- 展示工作流示例输入
- 编写详细的节点说明
- 添加开发指南和注意事项
五、扩展功能
5.1 组件市场
功能说明
组件市场提供多样化的工具和插件,用于扩展和增强 A1 平台的功能。
涵盖领域
- 生产力工具
- 数据分析
- 内容创作
- 第三方服务集成
通过组件市场,您可以便捷地获取并集成各类插件,满足不同场景的功能需求。
六、总结
A1 官方组件提供了完整的工作流构建能力。合理组合这些组件,您可以:
- 快速搭建自动化工作流
- 实现复杂的业务逻辑
- 集成大语言模型能力
- 扩展平台功能
如需更多帮助,请参考开发文档或联系技术支持。